home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Sample Code / AOCE Sample Code / PowerTalk Access Modules / Sample CSAM / Sources / SKEL•Parz.C < prev    next >
Encoding:
Text File  |  1995-07-28  |  3.9 KB  |  150 lines  |  [TEXT/MPS ]

  1. // Copyright (c) 1993 Regents of the University of Michigan. All rights reserved.
  2.  
  3. /* ==========================================================================
  4.     Procs, Parse & Authi routines for the ldap CSAM.
  5.              ^^^^^
  6.  
  7.     Written by: Gavin Eadie • The University of Michigan Information Systems
  8.           Phone: (313) 936-0816
  9.      AppleLink: A67
  10.       Internet: gavin@umich.edu
  11.          
  12.         History:    Sep08/92             Split off from dixieDSAM.c (Gav)
  13.                     Jan04/93    1.0a10    First try with AOCE a13 ... Gav
  14.                     Jan21/93    1.0a13    clean up the parse callback DSSpec's ... Gav
  15.                     Jan27/93    1.0a14    no revisions for AOCE 1.0a14 ... Gav
  16.                     Mar10/93    1.0a16    all MacsBug calls removed ... Gav
  17.                     Mar16/93 1.0a17    revisions for AOCE 1.0b1 ... Gav
  18.                     Jun21/93 1.0a27    change ldap_result to return one entry
  19.                                             at a time to avoid uncontrollable memory
  20.                                             consumption by the ldaprtns ... Gav
  21.                     Jun25/93 1.0a29    improvement in name/attr callbacks ... Gav
  22.                     - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  23.                     Jul26/93 1.0b1        "Find" works ... Gav
  24.                     Aug10/93 1.0b4        'Log_' replaced by 'Audit_' ... Gav
  25.  
  26.     ==========================================================================    */
  27.  
  28.  
  29. #include "Headers.H"
  30.  
  31. //    --------------------------------------------------------------------------
  32. //        Dir_Parse • parse functions
  33. //
  34. //    --------------------------------------------------------------------------
  35. OSErr Dir_Parse(MyDashGlobals * dGlobals, DirParamBlockPtr ds_PB) {
  36.     unsigned long My_A5;
  37.     OSErr        Dir_Error = kOCEParamErr;
  38.  
  39.     switch (ds_PB->header.reqCode) {
  40.     
  41. //eject
  42. //    --- kDirEnumerateParse ---------------------------------------------------
  43. //
  44.         case kDirEnumerateParse: {
  45.             Audit_PString('PARZ', "\pkDirEnumerateParse");
  46.  
  47.             My_A5 = SetA5(ds_PB->header.saveA5);
  48.  
  49. DirEnumerateParse_Done:
  50.             SetA5(My_A5);
  51.             break;
  52.         }
  53.  
  54. //eject
  55. //    --- kDirFindRecordParse ---------------------------------------------------
  56. //
  57.         case kDirFindRecordParse: {
  58.             Audit_PString('PARZ', "\pkDirFindRecordParse");
  59.  
  60.             My_A5 = SetA5(ds_PB->header.saveA5);
  61.             
  62.  
  63. DirFindRecordParse_Done:
  64.             SetA5(My_A5);
  65.             break;
  66.         }
  67.  
  68. //eject
  69. //    --- kDirLookupParse ------------------------------------------------------
  70. //
  71.         case kDirLookupParse: {
  72.             Audit_PString('PARZ', "\pkDirLookupParse");
  73.             
  74.             My_A5 = SetA5(ds_PB->header.saveA5);
  75.  
  76.  
  77. DirLookupParse_Done:
  78.             SetA5(My_A5);
  79.             break;
  80.         }
  81.  
  82. //eject
  83. //    --- kDirEnumerateAttributeTypesParse -------------------------------------
  84. //
  85.         case kDirEnumerateAttributeTypesParse: {
  86.             Audit_PString('PARZ', "\pkDirEnumerateAttributeTypesParse");
  87.  
  88.             My_A5 = SetA5(ds_PB->header.saveA5);
  89.             
  90. DirEnumerateAttributeTypesParse_Done:
  91.             Dir_Error = noErr;
  92.             SetA5(My_A5);
  93.             break;
  94.         }
  95.  
  96. //    --------------------------------------------------------------------------
  97. //
  98. //        A C C E S S    C O N T R O L    C A L L S
  99. //
  100. //    --- GetDNodeAccessControlParse -------------------------------------------
  101. //
  102.         case kDirGetDNodeAccessControlParse: {
  103.             Audit_PString('PARZ', "\pkDirGetDNodeAccessControlParse");
  104.             Audit_PackedRLI(ds_PB->getDNodeAccessControlParsePB.pRLI);
  105.             
  106.             My_A5 = SetA5(ds_PB->header.saveA5);
  107.  
  108.  
  109. DirGetDNodeAccessControlParse_Done:
  110.             SetA5(My_A5);
  111.             break;
  112.         }
  113.  
  114. //    --- kDirGetRecordAccessControlParse --------------------------------------
  115. //
  116.         case kDirGetRecordAccessControlParse: {
  117.             Audit_PString('PARZ', "\pkDirGetRecordAccessControlParse");
  118.  
  119.             My_A5 = SetA5(ds_PB->header.saveA5);
  120.  
  121.  
  122. DirGetRecordAccessControlParse_Done:
  123.             SetA5(My_A5);
  124.             break;
  125.         }
  126.  
  127. //    --- kDirGetAttributeAccessControlParse -----------------------------------
  128. //
  129.         case kDirGetAttributeAccessControlParse: {
  130.             Audit_PString('PARZ', "\pkDirGetAttributeAccessControlParse");
  131.  
  132.             My_A5 = SetA5(ds_PB->header.saveA5);
  133.  
  134.  
  135. DirGetAttributeAccessControlParse_Done:
  136.             Dir_Error = noErr;
  137.             SetA5(My_A5);
  138.             break;
  139.         }
  140.  
  141. //    --------------------------------------------------------------------------
  142. //
  143.         default:
  144.             Audit_PString('PARZ', "\p< unknown >");
  145.             Dir_Error = kOCEParamErr;
  146.     }
  147.  
  148.     return (Dir_Error);
  149. }
  150.